<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>CMSIS-SVD: Enumerated Values Level</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="cmsis.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="stylsheetf" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 46px;">
  <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">CMSIS-SVD
   &#160;<span id="projectnumber">Version 1.10</span>
   </div>
   <div id="projectbrief">CMSIS System View Description</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<div id="CMSISnav" class="tabs1">
    <ul class="tablist">
      <li><a href="../../General/html/index.html"><span>CMSIS</span></a></li>
      <li><a href="../../Core/html/index.html"><span>CORE</span></a></li>
      <li><a href="../../Driver/html/index.html"><span>Driver</span></a></li>
      <li><a href="../../DSP/html/index.html"><span>DSP</span></a></li>
      <li><a href="../../RTOS/html/index.html"><span>RTOS API</span></a></li>
      <li><a href="../../Pack/html/index.html"><span>Pack</span></a></li>
      <li class="current"><a href="../../SVD/html/index.html"><span>SVD</span></a></li>
    </ul>
</div>
<!-- Generated by Doxygen 1.8.3.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
      <li><a href="modules.html"><span>Reference</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__svd__xml__enum__gr.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">Enumerated Values Level<div class="ingroups"><a class="el" href="group__svd___format__gr.html">SVD File Schema Levels</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<div class="title">Enumerated Values</div><p> The concept of enumerated values creates a map between unsigned integers and an identifier string. In addition, a description string can be associated with each entry in the map.</p>
<pre>
        0 &lt;-&gt; disabled -&gt; "the clock source clk0 is turned off"
        1 &lt;-&gt; enabled  -&gt; "the clock source clk1 is running"
        </pre><p> This information is used for generating an <em>enum</em> in the device header file. The debugger may use this information to display the identifier string as well as the description. Just like symbolic constants making source code more readable, the system view in the debugger becomes more instructive. The detailed description can provide reference manual level details within the debugger.</p>
<hr/>
<pre>
<span class="mand">
<b>&lt;enumeratedValues <span class="opt">derivedFrom</span>=<em>"xs:Name"</em>&gt;</b>
<span class="opt">
    &lt;name&gt;<em>enumerationNameType</em>&lt;/name&gt;
    &lt;usage&gt;<em>usageType</em>&lt;/usage&gt;
</span>
    &lt;enumeratedValue&gt;
        ...
    &lt;/enumeratedValue&gt;
<span class="opt">
    ...
    &lt;enumeratedValue&gt;
        ...
    &lt;/enumeratedValue&gt;
</span>
<b>&lt;/enumeratedValues&gt;</b>
</span>
</pre><table  class="cmtable" summary="Enumerated Values Level Schema">
<tr>
<th>Attribute Name </th><th>Description </th><th>Type </th><th>Occurrence  </th></tr>
<tr>
<td>derivedFrom </td><td>Makes a copy from a previously defined <em>enumeratedValues</em> section. No modifications are allowed. An <em>enumeratedValues</em> entry is referenced by its name. If the name is not unique throughout the description, it needs to be further qualified by specifying the associated field, register, and peripheral as required. For example: <pre>
        field:                           clk.dis_en_enum
        register + field:                ctrl.clk.dis_en_enum
        peripheral + register + field:   timer0.ctrl.clk.dis_en_enum
</pre>  </td><td>xs:Name </td><td>0..1  </td></tr>
<tr>
<th>Element Name </th><th>Description </th><th>Type </th><th>Occurrence  </th></tr>
<tr>
<td>name </td><td>Identifier for the whole enumeration section. </td><td>xs:Name </td><td>0..1  </td></tr>
<tr>
<td>usage </td><td>Possible values are <span class="XML-Token">read<em>,</em> write<em>, or</em> read-write</span>. This allows specifying two different enumerated values depending whether it is to be used for a read or a write access. If not specified, the default value <span class="XML-Token">read-write</span> is used. </td><td>enumUsageType </td><td>0..1  </td></tr>
<tr>
<td>enumeratedValue </td><td>Describes a single entry in the enumeration. The number of required items depends on the bit width of the associated field. See section below for details. </td><td nowrap="nowrap">&#160; </td><td>1..*  </td></tr>
</table>
<div class="title">Enumerated Value</div> <p>An <em>enumeratedValue</em> defines a map between an unsigned integer and a human readable string.</p>
<hr/>
 <pre>
<span class="mand">
<b>&lt;enumeratedValue&gt;</b></span></pre><pre><span class="mand">    &lt;name&gt;<em>identifierType</em>&lt;/name&gt;
    <span class="opt">&lt;description&gt;<em>xs:string</em>&lt;/description&gt;</span></span></pre><pre><span class="mand">    &lt;choice&gt;
        &lt;value&gt;<em>scaledNonNegativeInteger</em>&lt;/value&gt;
        &lt;isDefault&gt;<em>xs:boolean</em>&lt;/isDefault&gt;
    &lt;/choice&gt;</span></pre><pre><span class="mand"><b>&lt;/enumeratedValue&gt;</b>
</span>
</pre><table  class="cmtable" summary="Enumerated Value">
<tr>
<th>Element Name </th><th>Description </th><th>Type </th><th>Occurrence  </th></tr>
<tr>
<td>name </td><td>String describing the semantics of the value. Can be displayed instead of the value. </td><td>identifierType </td><td>0..1  </td></tr>
<tr>
<td>description </td><td>Extended string describing the value. </td><td>xs:string </td><td>0..1  </td></tr>
<tr class="choice">
<td colspan="3"><em>choice of</em> </td><td>1..1  </td></tr>
<tr class="choice">
<td align="right">value </td><td>Defines the constant of the bit-field that the name corresponds to. </td><td nowrap="nowrap">scaledNonNegativeInteger </td><td>0..1  </td></tr>
<tr class="choice">
<td align="right">isDefault </td><td>Defines the name and description for all other values that are not listed explicitly. </td><td>xs:boolean </td><td>0..1  </td></tr>
</table>
<h1><a class="anchor" id="enum_ex2"></a>
Example:</h1>
<div class="fragment"><div class="line">&lt;enumeratedValues&gt;</div>
<div class="line"></div>
<div class="line">    &lt;name&gt;TimerIntSelect&lt;/name&gt;</div>
<div class="line">    &lt;usage&gt;read-write&lt;/usage&gt;</div>
<div class="line"></div>
<div class="line">    &lt;enumeratedValue&gt;</div>
<div class="line">        &lt;name&gt;disabled&lt;/name&gt;</div>
<div class="line">        &lt;description&gt;The clock source clk0 is turned off.&lt;/description&gt;</div>
<div class="line">        &lt;value&gt;0&lt;/value&gt;</div>
<div class="line">    &lt;/enumeratedValue&gt;</div>
<div class="line"></div>
<div class="line">    &lt;enumeratedValue&gt;</div>
<div class="line">        &lt;name&gt;reserved&lt;/name&gt;</div>
<div class="line">        &lt;description&gt;Reserved values. Do not use.&lt;/description&gt;</div>
<div class="line">        &lt;isDefault&gt;<span class="keyword">true</span>&lt;/isDefault&gt;</div>
<div class="line">    &lt;/enumeratedValue&gt;</div>
<div class="line"></div>
<div class="line">&lt;/enumeratedValues&gt;</div>
</div><!-- fragment --> <div class="fragment"><div class="line">&lt;enumeratedValues&gt;</div>
<div class="line"></div>
<div class="line">    &lt;name&gt;TimerIntSelect&lt;/name&gt;</div>
<div class="line">    &lt;usage&gt;read-write&lt;/usage&gt;</div>
<div class="line"></div>
<div class="line">    &lt;enumeratedValue&gt;</div>
<div class="line">        &lt;name&gt;disabled&lt;/name&gt;</div>
<div class="line">        &lt;description&gt;Timer does not generate interrupts.&lt;/description&gt;</div>
<div class="line">        &lt;value&gt;0&lt;/value&gt;</div>
<div class="line">    &lt;/enumeratedValue&gt;</div>
<div class="line"></div>
<div class="line">    &lt;enumeratedValue&gt;</div>
<div class="line">        &lt;name&gt;enabled&lt;/name&gt;</div>
<div class="line">        &lt;description&gt;Timer generates interrupts.&lt;/description&gt;</div>
<div class="line">        &lt;isDefault&gt;<span class="keyword">true</span>&lt;/isDefault&gt;</div>
<div class="line">    &lt;/enumeratedValue&gt;</div>
<div class="line"></div>
<div class="line">&lt;/enumeratedValues&gt;</div>
</div><!-- fragment --> </div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated on Tue Feb 18 2014 08:41:45 for CMSIS-SVD by ARM Ltd. All rights reserved.
	<!--
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.3.1 
	-->
	</li>
  </ul>
</div>
</body>
</html>
